#include <stdio.h>

int main(int argc, char const *argv[])
{
    // 打开文件流
    FILE *file = fopen("user.txt", "a+");
    if (file == NULL)
    {
        printf("打开文件失败 \n");
        return 1;
    }
    else 
    {
        printf("打开文件成功 \n");
    }
/**
 * 作用：读取文件中的一行字符串，格式化到n个变量中
 * 参数1：文件流
 * 参数2：带点位的字符串（匹配要读取的字符串）
 * 参数...：用于接收匹配占位数据的n个变量指针
 * 返回值：成功：点位的个数，失败或结束返回EOF
 * 
 * int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...)
 * */ 

    // 读取文件中的一行字符串，格式化到n个变量中  
    char name[15];
    char wife[15];
    int age;
    while(fscanf(file, "%s %s %d", name, wife, &age) != EOF)
    {
        printf("%s 在 %d 爱上了 %s \n", name, age, wife);
    }

    // 关闭文件
    // fclose(file);
    int result = fclose(file);
    if (result == -1)
    {
        printf("关闭文件失败\n");
    }
    else 
    {
        printf("关闭文件成功 \n");
    }
    
    return 0;
}
